//package com.siyuanren.gcocp.mapper.impl;
//
//import com.siyuanren.gcocp.mapper.MyAdminMapper;
//import com.siyuanren.gcocp.vo.AdminInsertVo;
//import com.siyuanren.gcocp.vo.AdminUpdateVo;
//import org.apache.ibatis.io.Resources;
//import org.apache.ibatis.session.SqlSession;
//import org.apache.ibatis.session.SqlSessionFactory;
//import org.apache.ibatis.session.SqlSessionFactoryBuilder;
//import org.springframework.stereotype.Component;
//
//import java.io.IOException;
//import java.io.InputStream;
//import java.util.Map;
//
///**
// * Created by   anxing
// * Project_name gcocp-parent
// * Path         com.siyuanren.gcocp.mapper.impl
// * Date         2018/5/2
// * Time         10:36
// * Description
// */
//@Component
//public class MyAdminMapperImpl implements MyAdminMapper {
//    @Override
//    public void insert(AdminInsertVo insertVo) throws IOException {
//        SqlSession sqlSession = getSqlSession();
//        String  sql = buildInsertSql(insertVo);
//        sqlSession.insert(sql);
//        sqlSession.commit();
//        sqlSession.close();
//    }
//
//
//    @Override
//    public void delete(String tableName, Integer id) throws IOException {
//        SqlSession sqlSession = getSqlSession();
//        String sql = "DELETE FROM " + tableName + " WHERE id = " + id;
//        sqlSession.delete(sql);
//        sqlSession.commit();
//        sqlSession.close();
//    }
//
//    @Override
//    public void update(AdminUpdateVo updateVo) throws IOException {
//        SqlSession sqlSession = getSqlSession();
//        String sql = buildUpdateSql(updateVo);
//        sqlSession.update(sql);
//        sqlSession.commit();
//        sqlSession.close();
//    }
//
//    private String buildUpdateSql(AdminUpdateVo updateVo) {
//        StringBuffer col = new StringBuffer("update ").append(updateVo.getTableName()).append(" set ");
//        for (String key : updateVo.getValues().keySet()) {
//            col.append(key).append("=").append(updateVo.getValues().get(key)).append(",");
//        }
//        col.deleteCharAt(col.length()-1);
//        col.append(" where id =" + updateVo.getId());
//
//        return col.toString();
//    }
//
//    @Override
//    public Map<String, String> select(String tableName, Integer id) throws IOException {
//        SqlSession sqlSession = getSqlSession();
//        StringBuffer sql = new StringBuffer("select * from ").append(tableName);
//        if (id != null) {
//            sql.append(" where id=").append(id);
//        }
//        return sqlSession.selectMap(sql.toString(), null);
//    }
//
//    private SqlSession getSqlSession() throws IOException {
//        String config = "mybatis/mybatis-config.xml";
//        InputStream stream = Resources.getResourceAsStream(config);
//        SqlSessionFactory factory =  new SqlSessionFactoryBuilder().build(stream);
//        return factory.openSession();
//    }
//    private String buildInsertSql(AdminInsertVo insertVo) {
//        String sql = "INSERT INTO wx_course VALUES('0','2018-04-02 10:00:41','1','1','1','1','1','1','1','1','1','1','1','1','1')";
//        StringBuffer col = new StringBuffer("INSERT INTO").append(insertVo.getTableName()).append("(");
//        StringBuffer values = new StringBuffer(" VALUES('0',");
//        for (String key : insertVo.getValues().keySet()) {
//            col.append(key).append(",");
//            values.append(insertVo.getValues().get(key)).append(",");
//        }
//        col.deleteCharAt(col.length()-1);
//        values.deleteCharAt(col.length()-1);
//        col.append(")");
//        values.append(")");
//        sql = col.toString() + values.toString();
//
//        return sql;
//    }
//
//}
